package com.sny.service;

import com.sny.dto.FileStorageDto;
import com.sny.dto.FileUploadDTO;
import com.sny.model.FileStorageModel;
import com.sny.vo.param.FileUploadRequestParam;
import org.springframework.core.io.Resource;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

/**
 * @Author:yangxupeng
 * @Description:
 * @Date: 2020/7/31 9:56 上午
 * @Modified:
 */
public interface IFileStorageService {

    /**
     * @Description:保存数据
     * @Auther: yangxupeng
     * @Date: 2020/7/31 10:10 上午
     * @param fileStorage
     * @return
     */
    FileStorageDto save(FileStorageDto fileStorage);

    /**
     * 根据名称查询资源
     * @param fileName
     * @return
     */
    FileStorageDto findByName(String fileName);

    /**
     * 生成资源
     * @param fileName
     * @return
     */
    Resource renderBinary(String fileName);

    /**
     * 根据md5查询
     * @param md5
     * @return
     */
    FileStorageDto findByMd5(String md5);

    /**
     * 删除
     * @param fileName
     * @return
     */
    void delete(String fileName);

    List<FileStorageDto> findFileByNames(String fileIds);
}
